package com.redepronik.negosys.invfac.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * The persistent class for the tipoprecioproducto database table.
 * 
 */
@Entity
@Table(schema = "invfac", name = "tipoprecioproducto")
@NamedQuery(name = "Tipoprecioproducto.findAll", query = "SELECT t FROM TipoPrecioProducto t")
public class TipoPrecioProducto implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(allocationSize = 1, name = "TIPOPRECIOPRODUCTO_TIPOPRECIOPRODUCTO_GENERATOR", sequenceName = "INVFAC.TIPOPRECIOPRODUCTO_TIPOPRECIOPRODUCTOID_SEQ")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "TIPOPRECIOPRODUCTO_TIPOPRECIOPRODUCTO_GENERATOR")
	@Column(unique = true, nullable = false)
	private Integer tipoprecioproductoid;

	@Column(nullable = false, length = 50)
	private String nombre;

	@Column(nullable = false, precision = 20, scale = 10)
	private BigDecimal valor;

	@Column(nullable = false)
	private Integer orden;

	@Column(nullable = false)
	private Boolean pvp;

	@Column(nullable = false)
	private Boolean porcentajepreciofijo;

	// bi-directional many-to-one association to Producto
	@ManyToOne
	@JoinColumn(name = "productoid", nullable = false)
	private Producto producto;

	public TipoPrecioProducto() {
	}

	public TipoPrecioProducto(Integer tipoprecioproductoid, String nombre,
			BigDecimal valor, Integer orden, Boolean pvp, Producto producto,
			Boolean porcentajepreciofijo) {
		this.tipoprecioproductoid = tipoprecioproductoid;
		this.nombre = nombre;
		this.valor = valor;
		this.orden = orden;
		this.pvp = pvp;
		this.producto = producto;
		this.porcentajepreciofijo = porcentajepreciofijo;
	}

	public String getNombre() {
		return this.nombre;
	}

	public Integer getOrden() {
		return orden;
	}

	public Boolean getPorcentajepreciofijo() {
		return porcentajepreciofijo;
	}

	public Producto getProducto() {
		return this.producto;
	}

	public Boolean getPvp() {
		return pvp;
	}

	public Integer getTipoprecioproductoid() {
		return tipoprecioproductoid;
	}

	public BigDecimal getValor() {
		return this.valor;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public void setOrden(Integer orden) {
		this.orden = orden;
	}

	public void setPorcentajepreciofijo(Boolean porcentajepreciofijo) {
		this.porcentajepreciofijo = porcentajepreciofijo;
	}

	public void setProducto(Producto producto) {
		this.producto = producto;
	}

	public void setPvp(Boolean pvp) {
		this.pvp = pvp;
	}

	public void setTipoprecioproductoid(Integer tipoprecioproductoid) {
		this.tipoprecioproductoid = tipoprecioproductoid;
	}

	public void setValor(BigDecimal valor) {
		this.valor = valor;
	}

}